library(tidyverse)
library(sf)
library(raster)
library(elevatr)
library(osmdata)
library(leaflet)
library(climateR)
library(AOI)
library(sp)
library(rasterVis)
params = c("tmax", "tmin", "prcp", "srad")

AOI = USAboundaries::us_states() %>% filter(name == "Washington")

s = getTerraClim(AOI, params, startDate = "2018-06-01") %>% 
  stack() %>% 
  setNames(params)
plot(s)

#max
values = values(s)

idx = which(!is.na(values))

v = na.omit(values)

vs = scale(v)

e = kmeans(vs, 5, iter.max = 100)

clus_raster = s$tmax

values(clus_raster) = NA

clus_raster[idx] <- e$cluster

plot(clus_raster, col = RColorBrewer::brewer.pal(5, "Spectral"))